#include <iostream>
#include <cmath>
#include "point.h"
#include "circle.h"

using namespace std;

//设计一个圆形类(Circle)，和一个点类(Point)，计算点和圆的关系。
//判断圆与点的关系
void contain(Circle &circle, Point &point) {
    //计算点与圆心的距离的平方
    int distance = pow(circle.getCenter().getX() - point.getX(), 2) + pow(circle.getCenter().getY() - point.getY(), 2);
    //计算半径的平方
    int r = pow(circle.getR(), 2);
    //判断关系
    if (distance == r) {
        cout << "点在圆上!" << endl;
    } else if (distance > r) {
        cout << "点在圆外!" << endl;
    } else {
        cout << "点在圆内!" << endl;
    }
}

int main() {
    //创建一个圆
    Point point;
    point.setX(0);
    point.setY(0);
    Circle circle;
    circle.setR(10);
    circle.setCenter(point);
    //创建一个点
    Point point1;
    point1.setX(10);
    point1.setY(0);
    contain(circle, point1);
    Point point2;
    point2.setX(10);
    point2.setY(10);
    contain(circle, point2);
    contain(circle, point);
    return 0;
}

